<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <link rel="stylesheet" href="css/reset.css" />
    <link rel="stylesheet" href="css/main.css" />
    <script type="text/javascript" src="./lib/jquery-1.12.4.min.js"></script>
    <script type="text/javascript" src="./lib/jquery-ui.min.js"></script>
    <script type="text/javascript" src="./lib/jquery.mousewheel.js"></script>
    <script type="text/javascript" src="./lib/scroll.js"></script>
    <title>聊天机器人</title>
  </head>

  <body>
    <div class="wrap">
      <!-- 头部 Header 区域 -->
      <div class="header">
        <h3>小思同学</h3>
        <img src="img/person01.png" alt="icon" />
      </div>
      <!-- 中间 聊天内容区域 -->
      <div class="main">
        <ul class="talk_list" style="top: 0px">
          <li class="left_word">
            <img src="img/person01.png" />
            <span>你好</span>
          </li>
          <li class="right_word">
            <img src="img/person02.png" />
            <span>你好哦</span>
          </li>
        </ul>
        <!-- 右侧滚动条 -->
        <div class="drag_bar" style="display: none">
          <div
            class="drager ui-draggable ui-draggable-handle"
            style="display: none; height: 412.628px"
          ></div>
        </div>
      </div>
      <!-- 底部 消息编辑区域 -->
      <div class="footer">
        <img src="img/person02.png" alt="icon" />
        <!-- 输入框 -->
        <input type="text" placeholder="说的什么吧..." class="input_txt" />
        <!-- 发送按钮 -->
        <input type="button" value="发 送" class="input_sub" />
      </div>
    </div>

    <!-- 导入axios -->
    <script src="./lib/axios.js"></script>
    <script>
      // 调用 resetui 即可滚到底部
      // resetui()

      // 接口地址： http://ajax-api.itheima.net/api/robot
      // 聊天
      // 步骤：
      //  1.给发送按钮绑定事件
      //  2.将自己输入的内容渲染到dom上
      //  3.通过axios发送ajax请求获得Ai的回复
      //  4.将Ai的回复内容渲染到dom上

      //1.获取元素
      const btn = document.querySelector('.input_sub')
      const text = document.querySelector('.input_txt')
      const talkList = document.querySelector('.talk_list')

      //  给btn绑定点击事件
      btn.addEventListener('click', async function () {
        // console.log(text.value);
        // 获取自己输入的内容,清除前后留的空白
        const spoken = text.value.trim()
        // 判断输入的内容是否为空
        if (!spoken) return alert('内容不能为空')

        // 创建一个新的节点
        const li = document.createElement('li')
        // 修改节点内容
        li.classList = `right_word`
        li.innerHTML = `<img src="img/person02.png" />
            <span>${spoken}</span>`

        // 将节点推入dom中
        talkList.appendChild(li)
        // 内容太多不会遮住
        resetui()

        // 内容发送后清空
        text.value = ''

        // 发起请求
        const { data: res } = await axios.get(
          'http://ajax-api.itheima.net/api/robot',
          {
            params: {
              spoken,
            },
          }
        )

     
        // 获取AI的内容
        const robotText = res.data.info.text

        // 创建一个新的节点
        const lis = document.createElement('li')
        // 修改节点内容
        lis.classList = `left_word`
        lis.innerHTML = `<img src="img/person01.png" />
            <span>${robotText}</span>`

        // 将节点推入dom中
        talkList.append(lis)
        // 内容太多不会遮住
        resetui()
      })

      // 绑定一个回车发送，键盘弹起事件
      text.addEventListener('keyup', function (e) {
        // 判断是否触发回车，是就再执行一次btn按钮的点击事件
        if (e.key === 'Enter') btn.click()
      })
    </script>
  </body>
</html>
